package com.project.easy.common.db.mybatisplus.core.service;

import  com.project.easy.common.util.dto.UserInfo;

import java.util.Objects;

/**
 * @author GreatorMan.cool
 * @copyright: Copyright (c) 2020
 * @company: 扬起科技有限公司
 * @date 2021/10/30 22:26
 * @description:获取用户信息
 */
public abstract class AbstractQueryCurrentUser implements IQueryCurrentUser {
    /**
     * 默认用户信息
     */
    private static final UserInfo USER_INFO = new UserInfo("unowned", "unowned", -1L);
    /**
     * 获取当前的操作用户
     * @return 用户信息为空 则返回默认用户信息
     */
    @Override
    public UserInfo query() {
        UserInfo userInfo = this.queryCurrentUser();
        if (Objects.isNull(userInfo)) {
            return USER_INFO;
        }
        return userInfo;
    }
    /**
     * 获取当前用户信息
     * @return 返回用户信息
     */
   public abstract UserInfo queryCurrentUser();

}
